package com.test.design.pattern.state.atfer;

/**
 * @ClasName ClosingState
 * @Descripution TODO 电梯关闭状态类 ：实现抽象状态所对应的行为。
 * @Author USER
 * @Date 2022/2/24 9:48
 * @Version V1.0
 */
public class ClosingState  extends LiftState  {
    @Override
    //电梯门关闭，这是关闭状态要实现的动作
    public void close() {
        System.out.println("电梯门关闭...");
    }

    //电梯门关了再打开，逗你玩呢，那这个允许呀
    @Override
    public void open() {
        super.context.setLiftState(Context.OPENING_STATE);
        super.context.open();
    }


    //电梯门关了就跑，这是再正常不过了
    @Override
    public void run() {
        super.context.setLiftState(Context.RUNNING_STATE);
        super.context.run();
    }

    //电梯门关着，我就不按楼层
    @Override
    public void stop() {
        super.context.setLiftState(Context.STOPPING_STATE);
        super.context.stop();
    }
}
